A notification system is a combination of software and hardware that provides a means of delivering messages to a set of recipients. For example, notification systems can send emails or text messages or make phone calls with automated messages. The complexity of the notification system is often dependent on the application. The use of notification systems range from simple publicity applications (e.g. sending notifications of a new product or a sale) to emergency applications (e.g. notifying individuals of a dangerous situation).
With the pervasive use and high availability of different types of computing devices (e.g. Personal Computer, laptop, terminal connected to a server, dumb terminal, tablet computer, PDA, Internet Protocol phone, smartphone), the notification system needs to be capable of reaching any type of computing device at any time and adapting the presentation of the notification to the capability of the computing device for the notification to have the broadest reach.
Existing notification systems establish connectivity with the devices to be notified at the time of sending a notification. When used as an emergency application, there is a need to keep constant connectivity with all the computing devices that need to receive notifications and to ensure the mobile device and application are running the correct version of the notification client where applicable.
Notification systems are generally unidirectional, whereby the notification is broadcasted or dispatched to a set of devices and there is little to no capability to extract information from the recipient of the notification. As such, there is a need for bi-directional capability in an emergency system, to extract information from the recipient of the notification and to manage the extracted information. For example, in an emergency notification application, it would be of value to request an acknowledgment that a user has received the notification and to maintain a record of which users have acknowledged the notification.